import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
// 处理文件压缩
import viteCompression from 'vite-plugin-compression';
import { resolve } from 'path'
export default defineConfig(({ mode }) => {
  return {
    plugins: [react(),
    mode === 'production' && viteCompression({
      disable: false,
      algorithm: 'gzip', // 压缩算法（可选'gzip'或'brotli'）  
      ext: '.gz', // 压缩文件后缀（'.gz'或'.br'）  
      threshold: 10240, // 仅压缩大于10KB的文件（单位：字节）  
      verbose: true, // 控制台输出压缩详情  
      deleteOriginFile: false // 慎用！是否删除源文件 
    }),
    ],
    server: {
      // 服务器主机名，如果允许外部访问，可设置为 "0.0.0.0" 也可设置成你的ip地址
      host: '0.0.0.0',
      port: 9000,
      // open: true,
      https: false,
      cors: true,
      // 代理跨域（模拟示例）
      proxy: {}
    },
    /*
     生产环境打包配置
     去除 console debugger
    */
    esbuild: {
      pure: mode === 'production' ? ["debugger", "console.log"] : []
    },
    resolve: {
      alias: {
        '@': resolve(__dirname, '.', 'src'),
      },
    },

  }
})
